The present invention relates generally to computer programming languages, and particularly to automatically translating source code from one such language into another.
Many popular computer programming languages are currently available. But while a developer may create an application in one of these languages, a customer may prefer a different language. For this reason developers often make an application available in multiple languages. To achieve this, the developer has two choices: to simply write the application from scratch in each of the languages, or to write the application in one language and convert the resulting source code into other languages.
Because the former option is resource-intensive, efforts have centered on the latter, and in particular, on ways to automate the translation of source code from one language to another. These efforts have met with limited success. For example, a tool called JConvert was provided by Microsoft Corporation to automatically convert Java source code to C# source code. However, while JConvert does reasonably well when converting classes, it fails to convert a substantial number of library calls. This is understandable given the many differences between Java library classes and C# library classes.